草庐IT

JavaScript key 处理和浏览器兼容性

全部标签

javascript - 如何使用 FileReader 读取二进制文件以便在 CryptoJS 中使用 SHA-256 对其进行哈希处理?

如何使用javascript将UTF-8字符串转换为Latin1编码字符串?这是我正在尝试做的事情:我得到一个文件,通过读取数组缓冲区将其拆分成block然后,我将数组缓冲区解析为字符串并使用以下代码将其传递给cryptoJS以进行哈希计算:cryptosha256=CryptoJS.algo.SHA256.create();cryptosha256.update(text);hash=cryptosha256.finalize();对于文本文件,这一切都适用。使用散列非文本文件(图像/.wmv文件)的代码时出现问题。我在另一个博客中看到CryptoJS作者要求使用Latin1格式而不

javascript - 如何在 Microsoft Edge 浏览器中实现小书签功能(无需额外安装任何东西)?

MicrosoftEdge浏览器不支持收藏夹中的javascript小书签。对此有简单的解决方法吗?当Edge的浏览器扩展程序问世时,如果用户安装扩展程序,则可能是可行的——但这对用户和开发人员来说开销要大得多。我认为这是设计使然。但是除了扩展之外,Microsoft的解决方法是什么?问题描述:http://answers.microsoft.com/en-us/windows/forum/apps_windows_10-msedge/please-support-drag-and-drop-bookmarklet-and/dc7d2f09-8742-46a5-bb4a-4d1f576

javascript - Angular 2 - 跨多个浏览器窗口的单一服务提供商

我正在尝试在任务完成后提供警报-用户当时可能位于多个页面中的任何一个。警报应显示到所有页面。我正在使用实现BehaviorSubject的服务我的app.component.ts页面中的提供程序-单个实例在我的app.component.html中,我有两个组件,一个是警报,另一个是触发警报。服务发送到呈现警报的警报组件。这工作正常,但只在提交服务的页面上(而不是任何其他页面)——提交功能也在警报组件中。submit-service利用publicemit:BehaviorSubject=newBehaviorSubject(newmodel());一旦事件完成,它就会触发this.e

javascript - 在 YUI3 中是否可以将单个处理程序附加到多个事件?

这样的事情可能吗?Y.one("input.units").on("keyupchange",function(e){...});jquery等价物是$("input.units").bind("keyupchange",function(e){...}); 最佳答案 是的,这是可能的。只需传递一组事件名称而不是字符串:Y.one('input.units').on(['keyup','change'],function(e){//...}); 关于javascript-在YUI3中是否

javascript - 如何在客户端浏览器中更新 javascript 文件?

当我在javascript文件中有错误时,我修复它并部署。但是要在浏览器中更新文件,我应该按Ctrl+F5。这对我来说不是问题,但很难告诉用户更新文件。如何让用户浏览器在没有特殊操作的情况下从服务器更新javascript文件?其中一种方法是将路径添加到文件的js文件修订版-每次文件路径都会不同。但这并不方便。 最佳答案 许多网站所做的是在指向javascript文件的URL上添加一个URL参数,并在每次文件更改时更改它。像这样:改变之后:它可能不方便,但它是最常见的解决方案。一些Web框架会自动执行此过程,因此开发人员不必手动增加

javascript - 如何使这个正则表达式与 JavaScript 兼容?

我在Expresso中找到了一个正则表达式模板,这个模板工作正常并返回完美匹配,但在JavaScript中它不起作用。我知道它可能用于后视,但我在正则表达式中的效率不够高,无法使其与JS兼容。\((?>[^()]+|\((?)|\)(?))*(?(number)(?!))\)我想将它与...匹配max(50,max(51,60))a()MAX(s,4,455)something...它应该返回...1:(50,max(51,60))2:()3:(s,4,455)这在Expresso中完美运行,但Chrome中的JS控制台说:UncaughtSyntaxError:Invalidregu

javascript - 在现有处理程序之前附加我的事件处理程序

假设有一个元素有一些onclick事件处理程序。例如onclick它执行alert("OldEventHandler").我想在现有事件处理程序之前添加我的事件处理程序。例如我的事件处理函数执行alert("NewEventHandler").所以在单击时我希望看到“NewEventHandler”弹出窗口,然后是“OldEventHandler”弹出窗口。这需要用纯JavaScript实现;请不要使用jQuery。 最佳答案 您可以保存原始处理程序,然后在完成后调用它:varoldHandler=myElement.onclick

javascript - 如何从浏览器页面源中隐藏 jquery ajax 中的详细信息

我在所有ajax方面都使用jquery,我不知道这是否合适,但我现在使用它。当用户在其中输入字符时,我有一个文本输入,我调用服务器端获取一些值并将它们添加到View中。我在下面使用的代码工作正常但是我想稍微改进一下。我怎样才能让这个ajax调用让想调查我的页面源代码的用户看不到我在这里调用的是什么?所以基本上我想从页面源中隐藏我在这里使用的url、什么类型和发送的数据,这可能吗?$(function(){$("#txtSearch").keyup(function(evt){$.ajax({url:"/Prethors/Users/SearchUsers",type:"POST",da

javascript - 在Firefox/Chrome页面打开IE浏览器

我们的Web应用程序是基于IE9的,这意味着只有IE9可以打开我们站点中的页面。当浏览器不是IE9时,我们将阻止用户浏览我们的网站。但有时我们不得不发送一个链接到用户的邮箱来完成一些操作,他们会直接用他们的默认浏览器打开链接,问题就在这里,如果默认浏览器不是IE9那么他们无法打开链接,他们必须将链接复制到IE9。我们的用户不希望手动执行此操作,无论默认浏览器是什么,他们都希望直接在IE9中打开链接。我试过使用ActiveXObject,但它只适用于IE。我想要一个可以在Firefox/Chrome页面中打开IE浏览器的脚本。 最佳答案

javascript - 在声明之前调用一个函数,独立于浏览器?

如果我在我的中这样做标签:在foo.js中我这样做:varfoo=newFoo();functionFoo(){//codehere}这段代码能否可靠地实例化变量foo即使它包含在函数定义之上,还是应该将它移动到文件底部,如下所示:functionFoo(){//codehere}varfoo=newFoo(); 最佳答案 您的示例可以在任何遵循ECMAScript标准的浏览器中运行(至少在这个问题上都可以)。参见specification的第10.3-10.5节.首先设置局部作用域,然后函数体实际运行。阅读10.5(该部分确实不是